/*
 * ResponseCancelarUltimaVenda.h
 *
 * @author Bematech S.A.
 */

#ifndef __BILBAO_PROTOCOL_SERIAL_RESPONSE_CANCELAR_ULTIMA_VENDA_CLASS_H__
#define __BILBAO_PROTOCOL_SERIAL_RESPONSE_CANCELAR_ULTIMA_VENDA_CLASS_H__

#include "bilbao/protocol/serial/ASerialResponse.h"

namespace bilbao
{
	namespace protocol
	{
		namespace serial
		{
			namespace response
			{
				class ResponseCancelarUltimaVenda:
						public ASerialResponse
				{
				public:
					/*
					 * Construtor
					 *
					 * Ordem dos parâmetros
					 * 0 - EEEE
					 * 1 - CCCC
					 * 2 - Cod
					 * 3 - Arquivo CF-e em base 64
					 * 4 - TimeStamp
					 * 5 - NumDocFiscal
					 * 6 - ChaveConsulta
					 */
					ResponseCancelarUltimaVenda( E_SERIAL_RESPONSE_ID eeee, const String& cccc,
							ASefazResponse::E_SEFAZ_RESPONSE_ID cod, const String& cfeBase64,
							const String& timeStamp, const String& numDocFiscal, const String& chaveConsulta );

					/*
					 * Destrutor
					 */
					virtual ~ResponseCancelarUltimaVenda( void );

					/*
					 * Set parâmetros
					 */
					void EEEE( E_SERIAL_RESPONSE_ID eeee );
					inline void CCCC( const String& cccc ) { setParameter( 1, cccc ); }
					//inline void Mensagem( const String& mensagem ) { setParameter( 2, mensagem ); }
					void Cod( ASefazResponse::E_SEFAZ_RESPONSE_ID cod );
					//inline void MensagemSEFAZ( const String& mensagemSEFAZ ) { setParameter( 4, mensagemSEFAZ ); }
					inline void CFeBase64( const String& cfeBase64 ) { setParameter( 5, cfeBase64 ); }
					inline void TimeStamp( const String& timeStamp ) { setParameter( 6, timeStamp ); }
					inline void NumDocFiscal( const String& numDocFiscal ) { setParameter( 7, numDocFiscal ); }
					inline void ChaveConsulta( const String& chaveConsulta ) { setParameter( 8, chaveConsulta ); }

				}; // class ResponseCancelarUltimaVenda
			} // namespace response
		} // namespace serial
	} // namespace protocol
} // namespace bilbao

#endif // __BILBAO_PROTOCOL_SERIAL_RESPONSE_CANCELAR_ULTIMA_VENDA_CLASS_H__
